home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / include / hplane3.h < prev    next >
C/C++ Source or Header  |  1992-02-25  |  2KB  |  54 lines

  1. /* Copyright (c) 1992 The Geometry Center; University of Minnesota
  2.    1300 South Second Street;  Minneapolis, MN  55454, USA;
  3.    
  4. This file is part of geomview/OOGL. geomview/OOGL is free software;
  5. you can redistribute it and/or modify it only under the terms given in
  6. the file COPYING, which you should have received along with this file.
  7. This and other related software may be obtained via anonymous ftp from
  8. geom.umn.edu; email: software@geom.umn.edu. */
  9.  
  10. /* Authors: Charlie Gunn, Pat Hanrahan, Stuart Levy, Tamara Munzner, Mark Phillips */
  11.  
  12. #ifndef HPLANE3DEF
  13. #define HPLANE3DEF
  14.  
  15. typedef float HPl3Coord;
  16. typedef struct { HPl3Coord a, b, c, d; } HPlane3;
  17.  
  18. extern HPlane3 *HPl3Create();
  19. extern void HPl3Delete(/* HPlane3 *pl */);
  20.  
  21. extern void HPl3Print(/* HPlane3 *pl */);
  22. extern void HPl3Copy(/* HPlane3 *pl1, *pl2 */);
  23. extern void HPl3From(/* HPlane3 *pl, HPl3Coord a, b, c, d */);
  24. extern int HPl3From3HPt3s(/* HPlane3 *pl, HPoint3 *pt1, *pt1, *pt1 */);
  25. extern int HPl3From2HLn3s(/* HPlane3 *pl, HLine3 *ln1, *ln2 */);
  26.  
  27. extern int HPl3IntersectHPl3(/* HPlane3 *pl1, *pl2, HLine3 *ln */);
  28. extern void HPl3Pencil(
  29.     /* HPl3Coord t1, HPlane3 pl1, HPl3Coord t2, HPlane3 *pl2, *pl*/);
  30.  
  31. extern float HPl3DotHPt3(/* HPlane3 *pl, HPoint3 *pt */);
  32.  
  33. extern HPl3Normalize(/* HPlane2 *pl1, *pl2 */);
  34.  
  35. extern int HPl3Undefined(/* HPlane3 *pl */);
  36. extern int HPl3Infinity(/* HPlane3 *pl */);
  37. extern int HPl3Compare(/* HPlane3 *pl1, *pl2 */);
  38.  
  39. extern int HPl3CoincidentHPt3(/* HPlane3 *pl, HPoint3 *pt */);
  40. extern int HPl3CoincidentHLn3(/* HPlane3 *pl, HLine3 *ln */);
  41. extern int HPl3CoincidentHPl3(/* HPlane3 *pl1, *pl2 */);
  42.  
  43. extern void HPl3Transform(/* Transform3 T, HPlane3 *pl1, *pl2*/);
  44. extern void HPl3TransformN(/* Transform3 T, HPlane3 *pl1, *pl2, int n*/);
  45.  
  46. extern void HPl3Dual(/* HPlane3 *pl, *HPoint3 *pt */);
  47.  
  48. /* Identify ideal plane */
  49. extern HPlane3 HPl3Ideal;
  50. extern void HPl3Perp(/* HPlane3 *pl, *HPoint3 *pt */);
  51. extern HPl3Coord HPl3Angle(/* HPlane3 *pl1, *pl2 */);
  52.  
  53. #endif
  54.